package com.itheima.d1_properties;

import java.io.FileReader;
import java.util.Properties;
import java.util.Set;

/*
     目标：掌握使用Properties类读取属性文件中的键值对信息。

        Properties是一个Map集合（键值对集合），但是我们一般不会当集合使用。
        核心作用：Properties是用来代表属性文件的，通过Properties可以读写属性文件里的内容。

        构造方法
            public Properties()	用于构建Properties集合对象（空容器）
        成员方法
            public String getProperty(String key) 	根据键获取值(其实就是get方法的效果)
            public Set<String> stringPropertyNames()	获取全部键的集合（其实就是ketSet方法的效果）
            public Object setProperty(String key, String value) 	保存键值对数据到Properties对象中去。
 */
public class PropertiesTest1 {
    public static void main(String[] args) throws Exception {

        Properties properties = new Properties();
        properties.put("张三","123");
        properties.put("李四","456");

        properties.setProperty("王五","678");
        properties.setProperty("赵六","258");


        System.out.println(properties);

        String s = properties.getProperty("王五");
        System.out.println(s);

        Set<String> set = properties.stringPropertyNames();
        System.out.println(set);

        System.out.println(System.getProperty("user.dir"));


//        properties.load(new FileReader("properties-xml-logback-app\\src\\com\\itheima\\d1_properties\\test.xml"));

//        properties.load(new FileReader("user.properties"));
//        System.out.println(properties);
//
//        Set<String> strings = properties.stringPropertyNames();
//        for (String string : strings) {
//            System.out.println(string);
//        }
//
//        System.out.println(properties.getProperty("张三"));
//
//        properties.forEach((k, v) -> System.out.println(k + ":" + v));
//
//        properties.setProperty("夏侯惇","44");
//        System.out.println(properties);
    }


}
